Appearance
把接口文档、故障日志和讨论记录一起交给模型,通常是为了让它掌握更多依据。但材料全部进入上下文以后,模型仍可能引用旧规则、漏掉一个例外,或者找对了日志却判断错了原因。输入容量解决了材料能否一起提交的问题,材料如何参与最终判断,还涉及另一组能力。
Context Rot 通常译作“上下文腐化”,指模型在输入内容变长时,利用其中信息完成任务的表现出现退化。 比如,同一个问题,只给相关资料时能答对,加入大量历史内容后反而答错,即使答案所需的信息仍然保留在输入里。[1] 这里的“腐化”描述的是模型表现,输入的文字本身并没有损坏。
MECW(Maximum Effective Context Window,最大有效上下文窗口)则进一步追问:对于某类任务,输入可以增长到多长,模型的表现才开始出现可测的退化?[3] 前者描述现象,后者尝试衡量这种能力的边界。
理解两者,需要沿着证据在任务中的作用继续往下看:相关信息是否被找到,适用条件是否被识别,多条证据能否共同约束结论。这也有助于解释为什么同一个模型、同样的输入长度,会在不同任务上表现悬殊。

从检索命中到证据整合
先考虑一组假设的接口资料:旧版文档允许请求失败后直接重试,新版文档要求重试沿用原请求标识,一份事故记录又提到某个旧客户端会在重试时生成新标识。
如果问题是“新版文档要求使用什么标识”,模型只需要找到对应条款;如果问题换成“这次重复退款是否可能由客户端重试引起”,同一组材料就要求模型确认客户端版本、连接重试行为与接口约束,并判断已有证据是否足以支持归因。即使每句话都能被准确复述,也可能在版本对应或因果关系上出错。
这里可以区分两种能力:检索解决证据在哪里,整合解决这些证据共同支持什么。 对第二种任务,只命中其中一条资料还不够;必要证据若分散在不同片段中,结论就依赖它们之间的关系是否被保留下来。
这也是单事实检索成绩难以概括整个长上下文能力的原因。Chroma 在 2025 年的 Context Rot 报告中测试了 18 个模型,并在传统“大海捞针”之外改变问题与答案的语义匹配程度、干扰材料和输入长度,观察到随长度增长而出现的性能下降。[1]
从这些任务差异出发,比较长上下文能力时,至少应说明回答需要一条证据,还是需要组合多条证据。两者可能拥有相同的 token 数,却具有不同的信息处理要求。
Context Rot:长度增长与语义干扰
增加上下文可能带来两种变化。补入此前缺失的新版条款,可以让问题变得可回答;补入十份重复讨论,也可能只增加需要辨别的候选解释。新增 token 的作用取决于内容,以及内容与当前问题的关系。
在 Chroma 的实验中,问题与目标答案越缺少直接的语义匹配,输入变长时的表现下降越明显;加入看似相关的干扰项也会降低成绩。[1] 因而,“无关材料”不能只理解为完全不同主题的文字,与问题共享术语、却在条件上不适用的段落同样值得关注。
回到接口资料的例子,旧版重试规则和当前问题高度相关,却可能不适用于本次请求。模型需要完成的处理已经超出了主题匹配:它必须把“这段话讨论重试”与“这段话能解释当前故障”区分开来。版本、时间、对象和前提条件,都会影响证据是否有效。
由此可以得到一个关于输入组织的判断:提高材料的主题相关性,并不必然提高它对当前问题的有效性。 检索结果越集中于相似主题,也越需要保留区分这些材料的条件;删掉版本号或时间信息,可能让原本可以区分的两条规则变成表面冲突。
Context Rot 描述的是输入增长时观察到的表现退化。它本身没有指定唯一的内部成因,也不意味着每增加一段文字,准确率都会按固定比例下降。
位置效应与长度效应的区别
Lost in the Middle 在多文档问答和键值检索中发现,相关信息出现在开头或结尾时,所测模型往往表现更好,移到中间后可能明显变差。[2] 这个结果说明,即使信息集合相同,模型对它的利用也可能受到排列位置影响。
位置效应考察的是“同一份证据放在哪里”,长度效应考察的是“输入扩展以后表现怎样变化”。追加材料时,两者容易同时改变:原来靠近末尾的关键条款,在追加大量日志后变成了中间内容。

因此,观察到一次长对话回答失败,不能直接判断模型究竟受到了哪种影响。两类实验需要分别控制材料长度与证据位置,才有机会区分它们。Chroma 在其特定的语义匹配检索实验中并未观察到明显的位置差异,[1] 也提醒我们:位置效应的强弱与所测模型、任务和输入设置有关。
“把重要信息放到最后”可以成为待验证的输入调整,却无法替代对信息关系的处理。新版条款即使放在最后,如果缺少当前客户端的版本,模型仍然没有足够依据判断该条款是否适用。
注意力机制能解释到哪一步
长上下文退化常被解释成“注意力被稀释了”。要判断这句话的含义,可以先回到标准点积注意力:模型计算 query 与可见 key 的匹配分数,经过 softmax 得到权重,再对 value 做加权汇总;多头注意力则允许不同的表示子空间参与这一过程。[5]
权重归一化意味着一个 query 对可见位置分配的权重总和为 1,却没有规定所有位置平分权重。仅从输入有 N 个 token,推不出关键证据只能获得 1/N 的注意力,更推不出任务准确率按这个比例下降。
在一个刻意简化的条件下,如果原有匹配分数保持不变,又加入了高分候选,它们确实会改变归一化后的权重分配。但实际模型中的表示会经过多层计算,最终答案也不能由某一层、某一个注意力头的权重直接判定。这个简化过程只能帮助理解候选内容之间可能存在的竞争。
我们需要保留实验现象与机制解释之间的距离:长度变化对应准确率下降,是行为层面的证据;要证明具体原因发生在某个注意力头、位置表示或其他计算环节,还需要针对模型内部的研究。用“注意力稀释”概括现象很方便,但若省略这些条件,反而会制造一种已经理解机制的错觉。
MECW:与任务绑定的有效范围
Maximum Effective Context Window(MECW,最大有效上下文窗口)来自独立研究 Context Is What You Need,用来刻画给定问题类型下、模型输出开始出现可测退化的输入长度边界。论文通过检索、求和及筛选排序等合成任务考察这一范围,并发现结果会随问题类型变化。[3]
这个概念的意义在于把“窗口有多大”转换成一个带条件的问题:使用哪个模型,处理哪类输入,要求输出达到什么水平。它不提供一个可以直接填进所有应用配置的通用长度。
例如,“找到至少一个符合条件的请求”和“列出全部符合条件的请求并排序”可能使用完全相同的日志。前者只需找到一个有效项,后者既要避免遗漏,还要满足排序要求;即使两次回答都只漏掉一项,在这两种任务中也会得到不同的评价。
还要区分两种边界。开始出现可测退化,是相对于基线的变化;低于业务可接受水平,是相对于要求的变化。 一个模型的成绩下降后,可能仍然满足当前任务;另一种任务即使尚未观察到明显下降,也可能从一开始就不够可靠。讨论有效窗口时,必须说明采用哪一种判定。
因此,MECW 更适合作为理解任务能力的条件性指标。模型规格中的容量上限,无法替代这类指标;某项合成测试给出的有效长度,也无法独立描述复杂 Agent 的工作范围。
检索、压缩与外部记忆的信息取舍
长上下文问题也让检索、摘要与外部记忆有了共同的理论背景:它们都在改变当前推理能够使用的信息,但改变方式不同。Anthropic 的上下文工程文章介绍了按需读取、上下文压缩和结构化笔记,并指出过度压缩可能丢失后续需要的细节。[4]
| 方法 | 对信息做了什么 | 主要代价 |
|---|---|---|
| 检索 | 从原始材料中选择当前要读取的片段 | 可能漏掉必要证据或片段间的联系 |
| 摘要压缩 | 用较短的表述替代原始材料 | 可能丢失条件、例外或不确定性 |
| 外部记忆 | 将记录保留在当前输入之外,之后再读取 | 需要判断何时读取、读取什么及状态是否过期 |
这张表是对这些方法的信息取舍的归纳。判断它们是否有效,需要看当前问题依赖什么,而不能只看减少了多少 token。
仍以接口资料为例,摘要如果把“部分旧客户端重试时更换请求标识”压缩成“客户端重试会更换标识”,字数减少了,结论的适用范围却被扩大。对于故障归因,这种变化可能比少保留几行普通日志更重要。摘要需要保留的是影响判断的区别,不仅是材料的大意。
而且,信息的重要性会随问题变化。讨论重试规则时可以略去某些请求时间;分析版本切换期间的故障时,同样的时间就可能成为必要证据。因此,一份对当前问题足够的摘要,未必能承接所有后续问题。

保留原始材料与可回查的引用,能够让之后的推理重新取得被摘要省略的细节。外部存储扩大了系统保留资料的范围,每次调用如何选取和理解这些资料,仍然决定着当前任务的表现。
从窗口容量到信息利用能力
把这些概念连接起来,可以更精确地描述一个长上下文系统:容量决定一次能够接收多少材料,检索与语义辨别决定哪些材料参与判断,证据整合决定结论能否同时满足相关条件。Context Rot 记录输入增长时的退化现象,位置效应揭示排列方式的影响,MECW 则尝试用与任务绑定的边界描述有效范围。
更大的窗口为跨文档分析提供了必要空间,但空间本身不会完成信息筛选和关系判断。真正需要比较的是模型在给定输入中能否识别适用证据,并让这些证据约束最终答案。理解了这一点,长上下文能力就不再只是一个 token 数字,也能解释为什么相同长度的两份材料,对模型可能是难度完全不同的任务。